The present invention relates to an ATM relay device which constructs an IP relay function in a packet communication scheme represented by TCP/IP or the like using destination information on the basis of ATM (Asynchronous Transfer Mode), and a network including it.
With growth of the Internet, the Internet infrastructure keeps on developing. An important technique in this respect is a device for connecting a plurality of logical networks. A packet relay device such as a bridge, router, or the like forwards packets by routing in units of packet destinations in the data link layer in case of communications within a given subnet (logical network) or in the network layer in case of communications between different subnets (logical networks).
Packet relay using ATM uses a packet forwarding scheme called hop-by-hop forwarding. FIG. 1 is a diagram showing the arrangement of such conventional ATM relay device, which comprises an ATM switch 160 which includes an ATM switch core 160a having a plurality of ports (#1 to #N), and an IP forwarding unit 161 which has a cell/data unit segmentation and reassembly unit (SAR: Segmentation And Reassembly) 161a, and an IP processor 161b including a CPU.
In hop-by-hop forwarding, extraction of IP header information and determination of the next destination (next HOP) of a packet depend on software processes by the CPU. Hence, the processing speed of such processes is low, and it can be a bottleneck in a network of a plurality of relay devices considering recent trend for higher-speed, heavier communication traffic, thus disturbing an increase in throughput.
In recent years, a method of processing hop-by-hop forwarding of packets by hardware has been proposed. More specifically, this method achieves high-speed search by using table lookup which makes the destination field of an IP packet correspond to output line information, and distributes packets. By executing such hardware process, a higher-speed relay process than the conventional software process can be implemented.
Furthermore, in a relay device that uses an ATM switch, a cell switch router (to be referred to as a CSR hereinafter) scheme has been proposed. In this scheme, for example, upon relaying successive IP packet data, processing of the network layer in the layer 3 level is switched to high-speed forwarding using the layer 2 level called cut-through forwarding.
That is, a conventional IP router controls routing of packet data 372 using only the network layer of a plurality of layers 371 of the communication protocol, as shown in FIG. 2. However, the CSR is a technique for forwarding packet data at high speed using the data link layer in addition to the network layer, i.e., a high-speed, high-performance router which does not require any packet forwarding by means of a CPU (software), as shown in FIG. 3.
The CSR scheme is effective for improving the throughput since it uses cut-through forwarding (forwarding in the layer 2 level (ATM layer)) in case of communications with a relatively long session time using protocols such as ftp, http, and the like, and can greatly increase the packet forwarding speed compared to conventional routers.
VPI/VCI used in an ATM relay device will be briefly explained below.
Some virtual paths (VPs) are set in an ATM network, and some virtual channels (VCs) for actually sending data are set in units of VPs. For this reason, in order to identify a VP to be used, a VPI (Virtual Path Identifier) is assigned to the header field of a cell. Furthermore, in order to identify VCs in the VP, which are to be used for sending data to the partner, a VCI (Virtual Channel Identifier) is assigned to the header field of the cell. Since the VPI/VCI are the fields for determining VPs and VCs to be selected upon communicating with the partner, they are called routing bits (bits for selecting a communication route). Note that each cell consists of 53 bytes, 5 bytes of which are used as a header, and the remaining 48 bytes of which are used as user information.
FIGS. 4A and 4B are views for explaining two cell forwarding schemes of the CSR.
Referring to FIG. 4A, upon hop-by-hop forwarding, an IP packet coming from a neighboring relay device 383 is sent to an IP processing unit 381A via an ATM switch 381B of a CSR relay device 381, undergoes a software process, and is then forwarded to the next neighboring relay device 383xe2x80x2. At this time, a virtual connection VC-1 is established between the neighboring relay device 383 and CSR relay device 381, and a virtual connection VC-2 is established between the CSR relay device 381 and neighboring relay device 383xe2x80x2. Reference numeral 382 denotes a communication protocol called an FANP normally used in the CSR, which protocol is used to establish/cancel a path for directly forwarding a packet in the data link layer (ATM-SW).
That is, when packet forwarding by the IP processing unit 381A is switched to cut-through forwarding by means of the ATM switch 381B by establishing an FTP session or the like, an ATM path is established to establish a cut-through path for switching to an ATM layer process, as shown in FIG. 4B. At this time, forwarding is done by the ATM switch 381B, and the IP processing unit 381A does not forward any packets. Reference numeral 388 denotes a virtual connection VC-3 established between the CSR relay device 381 and neighboring relay device 383xe2x80x2 upon cut-through forwarding.
The two schemes upon cut-through forwarding in the CSR will be briefly explained below. One scheme is called topology driven, which establishes an ATM cut-through path addressed to an identical subnet, i.e., between end-to-end CSRS, and forwards a packet with a large data size at high speed for a long period of time. Otherwise, hop-by-hop forwarding is made. The other scheme is flow driven, that performs high-speed forwarding between neighboring CSRs (link-to-link CSRS). The aforementioned flow-driven scheme is used to implement cut-through processes in units of communications (flows), and has features: it can flexibly cope with changes in network configuration, and is suitable for a route that requires flexible quality control in units of flows, and a route with light packet traffic.
On the other hand, the topology-driven scheme is used to simultaneously implement cut-through processes for each partner, and has features: it is suitable for the backbone of a large-scale network, and a route which is expected to have heavy packet traffic.
The CSR scheme comprises an IP processing unit after, e.g., an ATM switch, and the IP processing unit controls cut-through forwarding by the ATM switch.
FIG. 5 shows the arrangement of an ATM relay device of the CSR scheme, which comprises an IP processing unit 290, and an ATM switch 299 which is connected to this IP processing unit 290 via a single physical path. A main control unit 291 simultaneously processes by software (or hardware) information such as IP forwarding processes (IP packets, routing information), signaling process signal, and other control signals via a data/cell segmentation and reassembly unit (SAR: Segmentation And Reassembly) 395 inserted in this physical path.
In cut-through forwarding in the CSR scheme, high-speed signaling processes such as setup of a cut-through path with respect to a default path (a communication path in normal hop-by-hop forwarding) is also required. As for this cut-through path, a method that uses a permanent communication path like PVC (Permanent Virtual Connection) is available.
The signal processes are preferably done on demand using SVC (Switched Virtual connection) in consideration of channel resources.
FIG. 6 is a diagram showing another example of the arrangement of the conventional CSR relay device, in which an IP processing unit 331 is placed after an ATM switch 332 via a link 334 with IP processing. Upon executing ATM UNI (User Network Interface) signaling processes, a signaling cell is supplied to a data/cell segmentation and reassembly unit (SAR: Segmentation And Reassembly) 333 and is reassembled to a data unit. This data unit undergoes processes for UNI signaling by a software processing unit 335 including a CPU via a signaling data unit route 339. Also, processes in the order opposite to those described above are done.
Upon executing hop-by-hop forwarding in IP forwarding, an ATM cell is supplied to the data/cell segmentation and reassembly unit (SAR: Segmentation And Reassembly) 333 via a cell route 337 other than signaling, and is reassembled to a data unit. This data unit is supplied to the software processing unit 335 via a data unit route other than signaling, and undergoes processes for packet forwarding. After such processes, the data unit is transferred to the data/cell segmentation and reassembly unit 333 again to be segmented into cells, which are returned to the ATM switch 332 to be transferred to the next destination.
Note that the cell routes 336 and 337 pass through a physically identical link, and data unit routes 338 and 339 are a physically identical socket.
The CSR scheme mentioned above will be described in more detail below.
FIGS. 7A and 7B show an example which uses an ATM I/F in CPU communications between an ATM switch 772 and IP processing unit 771. Software of the IP processing unit 771 is composed of a CSR protocol 771a, UDP (User Datagram Protocol)/IP (Internet Protocol) 771b, DSB kernel 771c, ATM driver 771d, and serial driver 771e. FIGS. 7C and 7D show an example which uses an asynchronous port such as Ethernet in CPU communications between the ATM switch 772 and IP processing unit 771.
The ATM driver 771d is used to connect the ATM switch 772. The CPU of the IP processing unit 771 issues setup and release instructions of a VPI (Virtual Path Identifier)/VCI (Virtual Channel Identifier) of the ATM switch 772 for cut-through via CPU communications with the ATM switch 772. The CSR simultaneously provides a packet forwarding mode by means of the conventional software process, i.e., a hop-by-hop forwarding mode, and a high-speed packet forwarding mode by means of hardware using the ATM switch. When the CSR with this arrangement is used, processes can be disconnected from the IP processing unit 771 during communications, and the ATM 772 can cut through to achieve high transfer speed. Cut through means taking a shortcut, i.e., an input packet is not always transferred to the IP processing unit 771 but is relayed to the output port by only the ATM switch 772. No cut through process is done in an end terminal or relay ATM switch. The end terminal need only transmit an IP packet to the neighboring CSR (IP router) as in using an existing IP router network.
The basic operation of the CSR will be described in more detail below with reference to FIG. 8. As shown in (a) of FIG. 8, the first packet is reassembled by the CSR in the hop-by-hop forwarding mode, and the packet header is interpreted. The CSR forwards that packet to a node (router or destination host) or network (router) as the next hop using the packet header information. In case of a packet flow which is expected to have a long duration of an application, e.g., ftp, telnet, WWW, or the like, as shown in (b) of FIG. 8, a cut-through forwarding route is established by informing the correspondence between the packet flow and cut-through forwarding route (ATM-VC) by a protocol (CSR protocol) between neighboring nodes. Whether or not the cut-through forwarding route is established is determined using (as a trigger) information of the TCP/UDP port number, packet length, and the like.
After the cut-through forwarding route is established, as shown in (c) of FIG. 8, the packet is switched using ATM header information VPI/VCI or the like without being reassembled by the CSR.
Upon detecting a decrease in packet flow volume of the application, the CSR releases the cut-through forwarding route using the CSR protocol, as shown in (d) of FIG. 8. After the cut-through forwarding route is released, the control transits to the hop-by-hop forwarding mode ((a) of FIG. 8). The CSR protocol is effective between only neighboring nodes and, hence, information/status exchanged by the CSR protocol is effective between only the neighboring nodes. Therefore, information/status that pertains to cut-through packet forwarding need only be synchronized between the neighboring nodes, and does not require any global synchronization among all the nodes. Information/status is refreshed periodically. Furthermore, the establishment policy of the cut-through forwarding route is local decision of each CSR.
FIG. 9 shows the operation principle of the CSR using an RSVP (Resource Reservation Protocol) as a trigger. FIG. 9 is basically the same as FIG. 8. The CSR operates as a normal IP router that processes by IP processing, as shown in (a) of FIG. 9, and uses a default virtual channel VC at that time. Upon receiving an RSVP request message from the data receiving side (CSR-3), as shown in (b) of FIG. 9, CSR-2 sets a new channel VC (VPI/VCI) with CSR-3 using this message as a trigger. Likewise, packets flow using a new channel also between CSR-1 and CSR-2. After each others VPI/VCI are exchanged in the inter-CSR protocol, data flows using a new channel. By directly ATM-connecting channels between CSR-1 and CSR-2 and between CSR-2 and CSR-3, high-speed packet forwarding, i.e., cut-through forwarding is implemented ((c) of FIG. 9). Upon detecting a decrease in packet flow volume of an application, the CSR releases the cut-through forwarding route using the CSR protocol, as shown in (d) of FIG. 9.
As described above, since audio and moving picture data forwarding on the Internet is becoming frequent recently, requirements for communication quality control and provision of a plurality of QOS classes in the future are increasing, and the flow-driven CSR scheme that provides ATM VCCs in units of packet flows can easily implement a method (control driven) of requesting and providing the QOS (Quality of Service) class by transmitting a control message from a node onto the network like the RSVP, and a method (data driven) of determining the QOS class using information of the type of application.
To realize flexible responses, the flow-driven cut-through path is preferably used in dual modes, that is, a method of setting a path generated by forwarding a control packet to the network like the RSVP, i.e., a control-driven path, and a method of setting a path generated using information of a control packet, i.e., a data-driven path.
However, when only the method of generating a cut-through path upon arrival of each application flow, i.e., only the flow-driven scheme is used, and such scheme is applied to a large-scale network, the number of VCs required for forming cut-through paths may become very large.
However, this problem can be solved when the network administrator uses a method (topology driven) of preparing cut-through paths having different QOS classes in advance. That is, in case of topology driven, packets to be forwarded to subnets having identical addresses can be shared by a single cut-through path, i.e., can be merged. In other words, since a cut-through path can be generated on the basis of information of network topology, the number of VCs required for packet cut-through forwarding can be greatly reduced by the topology driven.
However, when only the topology-driven scheme is used, if quality control, e.g., band control is to be made, the bandwidth required when the traffic (data flow) volume is relatively heavy must be prepared between neighboring nodes. That is, the network administrator must prepare for cut-through paths having different QOS classes, thus wasting the bandwidth.
Therefore, it is best to use the dual modes that exploit the features of both the flow- and topology-driven schemes, and supports them.
FIG. 10A shows the operation in the flow-driven mode, FIG. 10B shows the operation in the topology-driven mode, and FIG. 10C shows the dual modes as a combination of these two modes.
More specifically, when the flow-driven mode is used simultaneously with the topology-driven mode, the bandwidth can be assured on demand for a packet flow that requires quality control. Hence, the bandwidth used in the topology-driven mode can be reduced compared to that used by the topology-driven mode alone.
Since the network may include both a packet flow that shares communication resources, i.e., VCs by a plurality of applications, i.e., topology-driven paths, and packet flows to which communication resources, i.e., VCs, are to be assigned in units of applications or packet flows that require different communication quality classes, different communication quality classes must be provided in the topology-driven mode to satisfy such requirements using only the topology-driven mode. The dual modes that can simplify hardware functions by selectively using cut-through paths in units of required communication quality classes must be used.
A topology-driven CSR network may be implemented by either VP base or VC base. Upon implementation by VP base, the maximum number of paths that one node can set is 256 (=28), and the network has poor expandability. On the other hand, upon implementation by VC base, a node in which a plurality of flows are merged with the topology-driven network must support a VC merging function that assures the cell order in the AAL (ATM Adaptation Layer) 5 level.
The aforementioned cut-through forwarding will be described in more detail below.
Whether or not a packet input to an ATM relay device is forwarded hop by hop or by cut through is determined on the basis of a condition called a cut-through trigger, which indicates if a cut-through forwarding path is to be established. As the cut-through trigger, the TCP port number of the first packet (to be referred to as a trigger packet hereinafter) in each flow is referred to. Cut-through forwarding is deemed effective in case of an application (e.g., telnet, ftp, http) which is likely to have a long session time.
A relay device that performs cut-through forwarding in addition to hop-by-hop forwarding will be explained below.
The systems of the conventional relay device will be explained below in the order of (a) software implementation of hop-by-hop forwarding, and (b) hardware implementation of hop-by-hop forwarding.
(a) Software Implementation of Hop-by-hop Forwarding
FIG. 11 is a schematic block diagram showing the arrangement of a conventional relay device which uses an ATM switch as a switch, and implements hop-by-hop forwarding by software. Referring to FIG. 11, reference numerals 671-1 to 671-n denote input lines; 672, an ATM switch; 673, a switching table; 674-1 to 674-n, output lines; 675, an SAR; 676, a processor; and 677, a frame memory.
The first packet of a flow to be routed by the relay device is input to the ATM switch 672 via the input lines 671-1 to 671-(n-1). In practice, the input packet has been converted into ATM cells. That is, a plurality of cells are input to the ATM switch 672 in units of packets.
The ATM switch 672 refers to the switching table 673 to switch the packet (ATM cells in practice) by hardware. On the other hand, the switching table 672 is set so that packets in the flow which is not determined to be forwarded either hop by hop or by cut through are output to the output line 674-n.
The packet output onto the output line 674-n is input to the SAR 675. Since the packet is input while being segmented into ATM cells, the SAR 675 reassembles these cells into the original packet on the frame memory 677, so that the processor 676 can process that packet. More specifically, since an application in which the data are used or the data length cannot be determined by checking only one cell, cells are gathered in units of packets, so that the processor 676 can process.
Upon completion of reassembly of the packet, the SAR 675 informs the processor 676 of arrival of a packet that requests establishment of a connection together with the address and the like of the frame memory 677 where the packet is stored. Upon receiving the message, the processor 676 refers to the TCP port number of that packet, and determines if the flow in which the packet flows is to be forwarded hop by hop or by cut through.
As a result, if it is determined that the flow is forwarded by cut through, the processor 676 sets up the switching table 673 so that the packet which flows in that flow is switched by only switching in the ATM switch 672. On the other hand, if it is determined that the flow is forwarded hop by hop, the switching table 673 remains unchanged, and after that, the packet which flows in that flow is processed by software of the processor 676.
How to process a packet to be forwarded by cut through (to be referred to as a cut-through packet hereinafter), and a packet to be forwarded hop by hop (to be referred to as a hop-by-hop packet hereinafter) in the relay device will be explained below.
When a cut-through packet is input to the ATM switch 672, the output lines are determined in accordance with the switching table 673, and the cut-through packet is output onto the determined output lines 674-1 to 674-(n-1).
A hop-by-hop packet is switched to the output line 674-n according to the setup in the switching table 673. The packet output onto the output line 674-n of the ATM switch 672 is transferred to the SAR 675.
The SAR 675 reassembles ATM cells to the original packet on the frame memory 677, so that the processor 676 can process it. Upon completion of reassembly of the packet, the SAR 675 informs the processor 676 of arrival of the hop-by-hop packet together with the address and the like of the frame memory 677 that stores the packet.
Upon receiving the message, the processor 676 executes routing on the basis of the header (source address, destination address, and the like) of that packet. Upon completion of routing, the processor 676 informs the SAR 675 of the presence of a packet to be sent on the frame memory 677. The SAR 675 reads out the packet to be sent from the frame memory 677, segments it into ATM cells, and inputs these cells onto the input line 671-n of the ATM switch 672. The packet input form the input line 671-n is output onto the output lines 674-1 to 674-(n-1) which are determined according to the switching table 673.
In the conventional relay device, the processor 676 processes packets in the order that packet arrival messages are received from the SAR 675 irrespective of the types of packets, i.e., a hop-by-hop packet, a trigger packet, a packet containing routing protocol information, signaling cells used to establish an ATM connection, and the like.
(b) Hardware Implementation of Hop-by-hop Forwarding
FIG. 12 is a schematic block diagram showing the arrangement of a conventional relay device when an ATM is used as a switch, and hop-by-hop forwarding is implemented by hardware. Referring to FIG. 12, reference numerals 681-1 to 681-n denote input lines; 682, an ATM switch; 683, a switching table; 684-1 to 684-n, output lines; 685, an SAR; 686, a processor; 687, a frame memory; and 688, a routing processing unit.
In FIG. 12, the difference from FIG. 11 lies in that routing of a hop-by-hop packet, which is forwarded from the output line 684-n to SAR 685 and is reassembled on the frame memory 687 is implemented by hardware in the routing processing unit 688.
When the SAR 685 informs the routing processing unit 688 that reassembly of the packet on the frame memory 687 is complete, the routing processing unit 688 executes routing on the basis of header information (source address, destination address, and the like) of that packet. Upon completion of routing, the routing processing unit 688 informs the SAR 685 of the presence of a packet to be sent on the frame memory 687. The SAR 685 segments that packet into ATM cells, and inputs them to the ATM switch 682 via the input line 681-n.
In this manner, by implementing the routing processing unit 688 by hardware, high-speed routing can be realized. In this case, in the arrangement shown in FIG. 12, packets to be processed by the processor 686 are only those addressed to the relay device, i.e., a trigger packet used to determine if cut-through forwarding is to be done, a packet containing routing protocol information, signaling cells used to establish an ATM connection, and the like.
In the conventional relay device, the processor 686 and routing processing unit 688 in FIG. 12 process packets in the order that packet arrival messages are received from the SAR 685 independently of the types of packets as in the processor 676 in FIG. 11.
An ATM switch used in connection-oriented communications (CO: a scheme for making communications after a connection to the partner has been confirmed like normal telephones) can serve a connection of connection-less communications (CL: a scheme of suddenly making communications without confirming any connection with the partner like telegraphs).
When the connection of the connection-less communications (CL) is to be released, a method using a counter for counting the number of cells that have passed through the connection is normally used.
FIGS. 13 and 14 show the conventional method. FIG. 13 is a schematic block diagram showing the arrangement of an nxc3x97n ATM switch, and FIG. 14 is a schematic block diagram showing the arrangement of an input-port ATM layer processing unit in the ATM switch. Note that nxc3x97n means that there are n inputs and n outputs.
As shown in FIG. 13, in the ATM switch used in an ATM network, n ports 540-1 to 540-n are connected in units of lines. Cells input from the respective lines are input to input-port ATM layer processing units 542-1 to 542-n in the ports 540-1 to 540-n.
The input-port ATM layer processing units 542-1 to 542-n obtain information such as the output destinations, connection identifiers, and the like of the cells by searching input-port conversion tables 543-1 to 543-n on the basis of VPI/VCI values and the like in the cells input from the corresponding lines.
The input-port ATM layer processing units 542-1 to 542-n count the numbers of passage cells in units of connections, and store these count values in input-port passage cell counter tables 544-1 to 544-n. The input-port conversion tables 543-1 to 543-n, and input-port passage cell counter tables 544-1 to 544-n need not be physically separated, but may be physically constructed as a single table.
The cells are transferred to an ATM switch core 545 together with the information obtained by the input-port conversion tables 543-1 to 543-n. The output destinations obtained from the input-port conversion tables 543-1 to 543-n indicate those with respect to the ATM switch core 545. The ATM switch core 545 transfers the cells to desired output-port ATM layer processing units 546-1 to 546-n in accordance with the output destinations obtained by the input-port ATM layer processing units 542-1 to 542-n.
The output-port ATM layer processing units 546-1 to 546-n obtain new VPI/VCI values by searching output-port conversion tables 547-1 to 547-n on the basis of the connection identifiers forwarded together with the cells. Furthermore, the output-port ATM layer processing units 546-1 to 546-n append the new VPI/VCI values to headers in place of the old ones, and output the cells onto the lines.
As in the input-port ATM layer processing units 542-1 to 542-n, the output-port ATM layer processing units 546-1 to 546-n count the numbers of passage cells in units of connections, and store these count values in output-port passage cell counter tables 548-1 to 548-n. The output-port conversion tables 547-1 to 547-n, and output-port passage cell counter tables 548-1 to 548-n need not be physically separated, but may be physically constructed as a single table.
Each of the input-port ATM layer processing units 542-1 to 542-n has the arrangement shown in FIG. 14. For example, taking the input-port ATM layer processing unit 421 as an example, a cell input from line 1 is input to an input processor 551. The input processor 551 extracts a VPI/VCI value and the like that can be used as keys upon searching the input-port conversion table 543-1 and input-port passage cell counter table 544-1 from the cell, transfers the VPI/VCI value to a conversion table controller 553 and passage cell counter table controller 554, and stores the cell in a cell buffer 552.
The conversion table controller 553 obtains the output destination, connection identifier, and the like of that cell by searching the input-port conversion table 543-1 on the basis of the VPI/VCI value and the like extracted from the cell. On the other hand, the passage cell counter table controller 554 refers to the input-port passage cell counter table 544-1 on the basis of the extracted VPI/VCI value. If the input cell has normally been received, the controller 554 writes back a value obtained by adding 1 to the referred counter value to the input-port passage cell counter table 544-1.
An output processor 555 outputs to the ATM switch core 545 the cell transferred from the cell buffer 552, and the information such as the output destination, connection identifier, and the like of that cell transferred from the connection table controller 553 together.
A processor I/F 556 controls access from a processor 541. The processor 541 accesses the input-port conversion table 543-1 or input-port passage cell counter table 544-1 via the processor I/F 556 and the conversion table controller 553 or passage cell counter table controller 554. Upon implementing a counter read clear function (to be described later), such function is provided to the passage cell counter table controller 554.
The output-port ATM layer processing units 546-1 to 546-n have a similar arrangement.
In such arrangement, in the conventional scheme, the processor 541 that controls the overall ATM switch periodically polls the input-port passage cell counter tables 544-1 to 544-n of all the connections to be managed, and releases connections on the basis of the count values.
More specifically, if a given count value is equal to the previously polled passage cell counter value, it is determined that no cell has passed through that connection since the previous polling. In such case, the processor 541 determines that the connection is not used, and releases the connection.
When the input-port ATM layer processing units 542-1 to 542-n have a function (counter read clear function) of zero clearing the passage cell counter tables 544-1 to 544-n upon reading from the processor 541, the processor 541 releases the connection when the corresponding counter value is zero.
Note that the method of polling the input-port passage cell counter tables 544-1 to 544-n has been explained, but the output-port passage cell counter tables 548-1 to 548-n may be polled.
In the following description, assume that the input-port ATM layer processing units 542-1 to 542-n have the counter read clear function (the method of zero clearing a given count value when the count value remains the same as the previous one upon being read by the processor 541), and the input-port passage cell counter tables 544-1 to 544-n are polled.
A case will be explained below wherein ATM communications are made using the aforementioned ATM relay device. In ATM communications, data are exchanged using a 53-byte fixed length packet, i.e., cells. In a 5-byte header of the packet, an 8-bit VPI field for UNI (User-Network Interface) and 12-bit VPI field for NNI (Network Node Interface) are assured, and 16-bit VPI fields are assured.
Such VCI/VPI identifiers are assigned in units of physical lines at the beginning of End-End communications (between terminals), and upon completion of assignment, cells are sent from the start point of the communications by following the assigned identifiers while their contents are rewritten in turn to the header value of the next physical link.
On the other hand, in an IP network used in, e.g., the Internet, End-End communications are made using numbers called IP addresses that identify the locations of the respective end terminals. As a method of assigning the IP address, identical network addresses are respectively assigned to large networks to some extent, one network is grouped into subnets having a given size, and the respective terminals are located in the subnets. In this manner, the entire network can be easily managed, and End-End network exchange can be efficiently done.
The IP networks and subnets are grouped by dividing IP addresses by given numbers of bits from the most significant bit, and especially, each subnet is identified by assigning bits called a subnet mask that filters the address to the subnet.
For example, a router, host, or the like is placed at the boundary between a network using a label switch technique and a network using another device, and a designated path is set based on the destination address in the header of the received packet to forward that packet to the next destination.
Furthermore, as one of protocols for setting connections between ATM switches, pNNI (private network interface) is known. In this PNNI, a plurality of nodes are gathered to build a hierarchical peer group, thus attaining hierarchical source routing. On the other hand, routing and connection setups are independently done, and an end-end connection is set according to a host request. In addition, Classical IP over ATM, NHRP (Next Hop Resolution Protocol), and the like are available. In the Classical IP over ATM, ARP (Address Resolution Protocol) servers are set in units of LISs (Logical IP Subnets), and a connection is set by acquiring address information by accessing the server. On the other hand, in the NHRP, NHRP servers are similarly set in units of LISs, but these NHRP servers exchange information between the servers.
The ATM relay device and the network including it have been explained. The aforementioned conventional ATM relay device suffers various problems to be described below.
The first problem will be explained. Even when the CSR scheme is adopted, if hop-by-hop forwarding is concentratedly done by a single processor or a single (signal processing) hardware device, when the data volume from each ATM switch becomes larger in a future high-speed, large-capacity network, hop-by-hop forwarding traffic increases due to an increase in packet traffic, thus bottlenecking communications. Also, since high operation speed and large-capacity processing performance (e.g., address search processes and the like) are required accordingly, cost may increase.
It is, therefore, the first object of the present invention to provide an ATM relay device which can relay large-size packets at high speed by distributing the load on an IP forwarding unit without increasing the operation speed, processing performance, and the like of the IP forwarding function.
The second problem will be explained below. When the aforementioned SVC scheme is used, the signaling load on an IP processing unit that sets up signaling of an ATM switch becomes heavier. If ATM cells for signaling frequently occupy a communication path between the IP processing unit and ATM switch, the bandwidth for forwarding IP packets hop by hop is narrowed down.
Also, a protocol, for example, SNMP (Simple Network Management Protocol) that manages and controls status of the ATM relay device, is mandatory in a communication apparatus. Hence, the processing load upon managing and controlling the ATM switch and IP processing unit becomes also heavy. More specifically, management and control data are also mapped in the ATM switch, and are exchanged between the ATM switch and IP processing unit, thus further narrowing down the forwarding bandwidth of IP packets.
In this manner, the conventional ATM relay device concentratedly makes IP packet, signaling, and management and control communications using a single physical path between the ATM switch and IP processing unit, the software processing load concentrates on an IP relay device, and the forwarding bandwidth itself of IP packets is narrowed down, resulting in poor efficiency of an IP packet relay process. Furthermore, in a future high-speed, large-capacity network, hop-by-hop forwarding traffic is projected to increase due to an increase in packet traffic, thus bottlenecking communications.
It is, therefore, the second object of the present invention to provide an ATM relay device, which can relay large-size data at high speed without increasing the operation speed and processing speed (CPU performance), since it reduces software processes of the IP forwarding process, signaling process, and management and control functions, and can improve efficiency of the IP packet forwarding process, signaling process, and management and control processes.
The third problem will be explained below. The aforementioned CSR scheme supports the ATM UNI signaling process in both the types of connections, i.e., the PVC (Permanent Virtual Connection) and SVC (Switched Virtual Connection), and can be connected to an existing ATM network. Especially, when the CSR scheme supports the SVC, it is required to avoid an increase in signaling traffic volume and to achieve high-speed signaling performance for SVC control. The processes of these two types of traffic and forwarding must be done by a single physical link.
However, the conventional ATM relay device cannot meet such requirements. The conventional ATM relay device processes by software (CPU processes) traffic which is not cut-through forwarded in the CSR scheme, i.e., packets forwarded hop by hop, resulting in considerably low processing performance.
It is, therefore, the third object of the present invention to provide an ATM relay device and router device which can obtain high-speed signaling performance for SVC control while avoiding an increase in signaling traffic volume in case of supporting the SVC, and can improve forwarding performance of packets upon hop-by-hop forwarding. Also, in a network packet relay device based on the CSR scheme, and especially upon processing packets addressed to the self terminal and non-IP packets, forwarding performance of packets hop-by-hop forwarding is greatly improved. Furthermore, upon processing packets addressed to the self terminal and unknown-destination packets, the packets addressed to the self terminal can be reliably received without executing TTL subtractions more than necessary, and the packet forwarding distances upon replacing by a network node can be improved.
The fourth problem will be explained below. In a data system network using, e.g., an IP protocol that uses an ATM as a bearer, a plurality of VPI/VCI values between End-End are acquired by some means upon starting data exchange, and data communications are made using these VPI/VCI values.
In this case, since an IP communication does not indicate the termination time of a communication, a procedure that holds these VPI/VCI values for a while, and releases them when no communication is made for a predetermined period of time, or the like is adopted. For this reason, the VPI/VCI resources are wasted.
This problem will be explained below using a network arrangement example shown in FIG. 15.
Referring to FIG. 15, reference numeral 421 denotes a public line, which is, e.g., a public line such as an NTT network or the like. Reference numerals 422 and 423 denote GWs (gateways), which interconnect systems/networks using different protocols. In the example shown in FIG. 15, the two GWs 422 and 423 are set, and Backbone nets (backbone networks) 424 and 425, and IP-Subnets (subnetworks) 426 to 429 connected thereto build a single network. In this case, the GWs 422 and 423 correspond to gates of this network, and different networks are connected by a carrier dedicated line service or the like.
When such network is built using an ATM, the arrangement shown in FIG. 16 is conventionally adopted. Each VCC (Virtual Channel Connection) in FIG. 16 is a communication route formed by the VCI conversion rule, and many VCC are formed in units of terminals that use the network.
Note that only one example of logical paths (VCCs) characterized by VPI/VCI values is illustrated for the sake of simplicity. In practice, one VPI/VCI in the logical path is normally assigned between physical links, but is simply illustrated in FIG. 16 since it is not essential in the present invention.
Normally, since the dedicated line service is provided by VP switching, one VP (virtual path) is assigned between the GWs 422 and 423. In the network, assignment is done using VCCs. This is to assign VPI/VCI values every time an event, i.e., data exchange, takes place.
However, in this case, as shown in FIG. 16, VCCs used by the IP-Subnets 426 to 429 are simultaneously assigned in the Backbone nets 424 and 425. In practice, since VCCs are assigned in correspondence with the number of terminals in the IP-Subnets 426 to 429, a very large number of VCCs concentrate on the Backbone nets 424 and 425 and GWs 422 and 423.
This problem becomes more serious as the network scale increases and the number of terminals increase. In such case, the number of VCCs exceeds that the GWs 422 and 423 can handle, and a communication is disabled even when line resources remain. That is, VPI/VCI resources are wasted.
In order to solve such problem, conventionally, a method of merging a plurality of VCCs to one VCC or the like has been proposed. However, in order to avoid flows of different data packets from being mixed into a single flow at the level of ATM cells, for example, when two flows are to be merged, control for passing the first packet first and then the next packet is required. When data of one packet is long or when cells that form the packet have a large interval, a long time is required for passing the first packet, and the second packet cannot be readily forwarded.
It is, therefore, the fourth object of the present invention to provide an ATM switch for implementing a VCC merging scheme which combines a plurality of VCCs into a single VCC, reduces the VPI/VCI resource volume especially in a backbone network, and never disturbs packet forwarding.
The fifth problem will be described below. As described above, in the conventional scheme, the processor polls all the connections using passage cell counters in units of connections to release connections.
However, when a connection is released by such method, the time elapsed from when the current counter value has been reached until the processor polls cannot be detected. Hence, the connection release timing may delay due to the difference between the cell passage timing and polling timing.
More specifically, for example, assume that cells have passed through a connection immediately before polling, and after that, no cells pass at all. In such case, upon polling the next passage cell counter, since the counter value is not zero, the processor determines that the connection is in use, and does not release the connection. More specifically, the connection is released upon polling after the next polling.
Since the processor performs not only polling of the passage cell counters and connection release processes, but also control of the entire ATM switch, when the number of connections to be managed is large, the polling period with respect to a passage cell counter of a specific connection is prolonged (the time interval for checking the count value of that passage cell counter is prolonged). For this reason, although the connection is not used in practice, it cannot be corrected for a long period of time in proportion to the polling period of the passage cell counter for the specific connection. That is, connection resources cannot be effectively used.
Such problem arises from a long polling period of the passage cell counter for a specific connection when the number of connections to be managed is large, since the processor controls the entire ATM switch.
Note that another processor dedicated to polling of the passage cell counters may be prepared. However, in such method, control among processors is complicated very much.
It is, therefore, the fifth object of the present invention to provide an ATM switch which can release a connection, which has become unnecessary, early without requiring any complicated control, and can effectively use connection resources.
The sixth problem will be described below.
In the conventional relay device with the arrangement shown in FIG. 11, the ATM switch 672 and SAR 675 are connected via a pair of input and output lines of the ATM switch 672, and packets to be processed by the processor 676 such as a data packet to be forwarded in the hop-by-hop mode, a trigger packet, a packet containing routing protocol information, signaling cells used in establishment of an ATM connection, and the like are forwarded as ATM cells on these two lines.
The ATM switch 672 outputs cells to the SAR 675 in nearly the same order as the input order of those cells to the ATM switch 672. When a state (congestion) wherein cells addressed to the SAR 675 are input to the ATM switch 672 beyond the bandwidth of the line that connects the ATM switch 672 and SAR 675 continues, cell discard may take place in the ATM switch 672.
In the conventional relay device, since there is no function of controlling the output order of cells addressed to the SAR 675 on the input side of the ATM switch 672, the cell discard takes place independently of cell types. In such case, control/management information between relay devices such as a trigger packet, a packet containing routing protocol information, signaling cells, and the like are discarded as well as data packets forwarded hop by hop. For this reason, discarded packets may adversely influence control between the relay devices, and sharing of management information between the relay devices.
To solve such problem, even when the arrangement in which the SAR 675 has buffer queues in units of cell or packet types in the frame memory 677, higher priority is given to a trigger packet than other packets, and the processor 676 preferentially processes the trigger packet is adopted, since cell discard occurs in the ATM switch 672 independently of cell types, the trigger packet is not always preferentially processed in the entire device.
In the arrangement shown in FIG. 12 as well, packets with high importance such as a trigger packet, a packet including routing protocol information, signaling cells, and the like may be discarded depending on the cell input state.
It is, therefore, the sixth object of the present invention to provide a relay device which can implement priority control according to packet types, and can realize efficient data communications by preferentially outputting packets with high priority.
The seventh problem will be explained below.
The aforementioned VC merging method suffers the following problem. That is, in a VC merging function shown in FIG. 17, when cells (A1 to A4) and (B1 to B4) along two flows are simply merged, they form a mixed flow, as shown in FIG. 17, after switching by an ATM switching function 783. On the AAL 5 level, a cell BOC (Begin of Cell), which should come at the head of a packet, arrives twice, and consequently, a PDU (Protocol Data Unit) cannot be normally reassembled.
It is, therefore, the seventh object of the present invention to provide an ATM relay device which has dual modes that can selectively use cut-through paths in units of communication quality classes by merging cells in units of PDUs in accordance with the required communication quality.
The eighth problem will be described below.
As described above, cut-through trigger information is used as a reference upon determining whether or not cut-through forwarding is done. In the current specifications, the cut-through trigger information must be set in advance by the administrator. However, when the administrator sets cut-through trigger information in accordance with a request from the user, it is difficult for him or her to determine if that request actually reduces the load on the router and is effective for the network.
Confirming whether or not cut-through forwarding is effectively working after the cut-through trigger information is set can become a heavy load on the administrator. For example, if it is set to enable cut-through even upon forwarding a few packets, the delay produced by the process for shifting the control to the cut-through mode may exceed the time saved by the cut-through mode.
In order to design effective cut-through trigger information, the actual IP packet forwarding state must be sufficiently taken into consideration, but it is very hard to do so. This poses a problem in a router that uses the label switching technique including CSR.
It is, therefore, the eighth object of the present invention to provide a packet forwarding state monitoring device which allows efficient use of the network by monitoring the packet forwarding state in the router to set effective cut-through paths.
The ninth problem will be explained below.
In a router or host using the conventional label switch technique, since designated paths are determined to be set or unset irrespective of QOS (Quality of Service) information of packets, even a packet having a QOS request, whose forwarding time cannot be delayed or a packet which cannot be discarded may not reach within a predetermined time or may be discarded.
It is, therefore, the ninth object of the present invention to provide a designated path setup method which can implement packet forwarding in consideration of different service quality classes by assuring the QOS information of a packet.
The 10th problem will be explained below.
When a connection that requires topology information of the network is set in the ATM switch, in case of a pure ATM network, inter-switch connection information must be exchanged using the pNNI and resource management must be simultaneously performed by giving information such as the link capacity, transmission delay, useable bandwidth, assured cell discard ratio, number of passage connections, use link cost, and the like. However, in an ATM-LAN that needs only QOS (Quality of Service) assurance and resource management levels as low as a conventional LAN, and requires large-capacity lines of ATM and high switching speed, a large number of pieces of unwanted information must be saved in the routing table. Also, upon routing, since the pNNI performs source routing using a link state algorithm in each peer group or between peer groups, the switch must generate DTLs (route designation lists) with a large data size in units of topology data.
In the aforementioned Classical IP over ATM, ATM-LANs must be connected via a router, and even in the NHRP, an ARP server is mandatory.
Furthermore, in the above-mentioned protocol, all End-End connections are set in an End-End communication according to a host request although the network topology is known. In order to set all connections in an End-End communication, the number of VCs (Virtual Connections) becomes very large in a large-scale network. If such problem is solved by VC merging, each switch must execute VC merging upon setting connections.
It is, therefore, the 10th object of the present invention to provide a connection setup method in an ATM network, which can achieve high-speed connection setups and a reduction of the number of connections at the same time.
In order to achieve the first object, according to the present invention, an ATM relay device comprises an ATM switch core for distributing an input ATM cell to a corresponding one of a plurality of output ports on the basis of destination information thereof, a plurality of forwarding means, provided in correspondence with the respective output ports of the ATM switch core and each having a unique forwarding processing function, for executing a predetermined forwarding process for a packet obtained by reassembling ATM cells input via the respective output ports, destination information assignment means for assigning destination information which assumes different values in units of packets to ATM cells that form each of packets having an identical address of packets processed by the plurality of forwarding means, and output means for storing ATM cells of packets assigned identical destination information by the destination information assignment means by a predetermined volume and outputting the ATM cells in a format that stores the ATM cells by the predetermined volume.
In order to achieve the second object, according to the present invention, an ATM relay device comprises an ATM switch for distributing an input ATM cell to at least one of first, second, and third different ports on the basis of destination information thereof, IP forwarding means for executing a forwarding process of an IP packet by receiving an ATM cell indicating that the destination information of the ATM cell is for forwarding via a first path connected to the first port of the ATM switch, signaling means for executing a signal process of an IP packet by receiving an ATM cell indicating that the destination information of the ATM cell is for the signaling process, via a second path which is connected to the second port of the ATM switch and is physically different from the first path, and management/control means for making management/control by receiving an ATM cell indicating that the destination information of the ATM cell is for management/control, via a third path which is connected to the third port of the ATM switch and is physically different from the first and second paths.
In order to achieve the third object, according to the present invention, an ATM relay device comprises a packet forwarding function in a network layer using an ATM switch, comprises signaling processing means, provided in association with an ATM switch, for executing a signaling process by receiving a signaling packet from the ATM switch via a first link, and forwarding processing means, provided independently of the signaling processing means, for executing an IP packet forwarding process by hardware using a predetermined memory by receiving an IP packet via a second link which is physically different from the first link.
According to the present invention, a router device which is provided in association with an ATM switch and comprises an IP packet forwarding function in a network layer, comprises signaling processing means for executing a signaling process by receiving a signaling packet from the ATM switch via a first link, and forwarding processing means, provided independently of the signaling processing means, for executing an IP packet forwarding process by hardware using a predetermined memory by receiving an IP packet via a second link which is physically different from the first link.
In order to achieve the fourth object, according to the present invention, an ATM switch which searches a routing table on the basis of header information of a cell input from an input-port line, rewrites the header information of the input cell to output-port information, and exchanges the cell to a predetermined output line, comprises mask means for masking some bits of the header information of the input cell, table search means for searching the routing table on the basis of the header information masked by the mask means, and information rewrite means for rewriting the header information of the input cell to predetermined output-port information in the routing table on the basis of a search result of the table search means.
According to the present invention, an ATM switch which searches a routing table on the basis of a VPI/VCI value described in header information of a cell input from an input-port line, rewrites the header information of the input cell to output-port information, and exchanges the cell to a predetermined output line, comprises mask pattern storage means for storing a mask bit pattern, mask means for masking some bits of a bit example of the VPI/VCI value described in the header information of the input cell using the mask bit pattern stored in the mask pattern storage means, table search means for searching the routing table on the basis of the VPI/VCI value masked by the mask means, and information rewrite means for rewriting the header information of the input cell to predetermined output-port information in the routing table on the basis of a search result of the table search means.
In order to achieve the fifth object, according to the present invention, an ATM switch comprises cell non-travel time detection means for periodically detecting a time for which no cell travels, in units of connections, storage means for storing cell non-travel times detected by the cell non-travel time detection means, polling means for polling the cell non-travel times stored in the storage means at a predetermined polling cycle, and connection release means for executing a connection release process on the basis of the cell non-travel times polled by the polling means.
In order to achieve the sixth object, according to the present invention, a relay device which executes a routing process in a network layer and a switching process in a data link layer using an ATM switch, comprises priority control means for handling input data in units of packets to determine a packet type prior to the routing and switching processes, and sending a packet to the ATM switch in accordance with priority corresponding to the packet type.
In order to achieve the seventh object, according to the present invention, an ATM relay device, which comprises a high-speed packet forwarding mode by hardware using an ATM switch, and forwards packets having an identical forwarding destination address by sharing a single path, comprises storage means for storing packets having an identical forwarding destination address in different queues in correspondence with communication quality levels of the packets in units of PDUS, and forwarding means for aligning the packets in units of PDUs, which are stored in different queues, in an order of communication quality levels, and forwarding the packets using a single path.
According to the present invention, an ATM relay device, which comprises a high-speed packet forwarding mode by hardware using an ATM switch, and forwards packets having an identical forwarding destination address by sharing a single path, comprises segmentation means for segmenting each of packets having an identical forwarding destination address in units of cells, reassembly means for reassembling the segmented cells into packets in units of PDUs in correspondence with communication quality levels, and forwarding means for aligning the reassembled packets in units of PDUs in an order of communication quality levels, and forwarding the packets using a single path.
In order to achieve the eighth object, according to the present invention, a packet forwarding state monitoring device comprises monitoring means for monitoring a forwarding state of packet to be forwarded to a destination by a routing process in a network layer, prediction means for predicting a forwarding tendency of the packets on the basis of a monitoring result of the monitoring means, and determination means for determining a condition for shifting the forwarding process to a hardware process below a data link layer on the basis of a result predicted by the prediction means.
According to the present invention, a packet forwarding state monitoring device comprises monitoring means for monitoring a forwarding state of packets to be forwarded by a hardware process below a data link layer, determination means for determining based on a monitoring result of the monitoring means whether or not the hardware process is effectively done, and canceling/re-setting means for canceling or re-setting trigger information that instructs the hardware process in accordance with a determination result of the determination means.
In order to achieve the ninth object, according to the present invention, a designated path setting method for a router which is located at a boundary between a network constructed by a label switch and a network constructed by another device, or a router which is located at a boundary between an identical label switch network and another label switch network even in a network constructed by a label switch, comprises the step of referring to QOS information or equivalent information in a header of packet data to be forwarded, and the step of determining based on the referred QOS information or equivalent information whether or not a designated path for the packet data is set.
According to the present invention, a designated path setting method for a router or a label switch host which is located at a boundary between a network constructed by a label switch and a network constructed by another device, or a router which is located at a boundary between an identical label switch network and another label switch network even in a network constructed by a label switch, comprises the step of referring to QOS information or equivalent information in a header of packet data to be forwarded when a designated path has already been set for a specific route, and the step of determining based on the referred QOS information or equivalent information whether a new designated path is set or the already set designated path is used.
In order to achieve the 10th object, according to the present invention, a connection setting method in an ATM network, comprises, upon setting a connection using an ATM switch, which is located in each node of an ATM network and has an IP over ATM function, the step of setting connections for routing information between neighboring ATM switches and ATM terminals by the IP over ATM, and the step of executing routing by a predetermined routing protocol on an IP of the IP over ATM after the connections are set.
According to the present invention, a connection setting method in an ATM network further comprises the step of generating a routing table entry using the routing protocol which runs on the IP of the IP over ATM, and the step of setting a connection on the basis of the routing table entry.